ВВЕРХ

SQL UPDATE

SQL UPDATE Описание

Инструкция UPDATE используется для изменения существующих записей в таблице.


UPDATE Syntax

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition
Будьте внимательны при обновлении записей в таблице! Обратите внимание на предложение WHERE в операторе UPDATE. Предложение WHERE определяет, какие записи необходимо обновить. Если пропустить предложение WHERE, то все записи в таблице будут обновлены!

Демонстрационная база данных

Ниже приведена выборка из таблицы "Customers" образца базы данных Northwind:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Берлин 12209 Германия
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Почти Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

SQL UPDATE Таблицы Пример

Следующий оператор SQL обновляет первого клиента (CustomerID = 1) новым контактным лицом и новым городом (City).

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt'
WHERE CustomerID = 1

Выборка из таблицы "Customers" теперь будет выглядеть так:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Германия
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Почти Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

SQL UPDATE Пример выбора нескольких записей

Выражение WHERE определяет, сколько записей будет обновлено.

Приведенный ниже оператор SQL обновит ContactName на "Juan" для всех записей, где страна является "Mexico":

UPDATE Customers
SET ContactName = 'Juan'
WHERE Country = 'Мексико'

Выборка из таблицы "Customers" теперь будет выглядеть так:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Германия
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Почти Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

Оговорки при использовании SQL Update!

Будьте осторожны при обновлении записей. Если вы пропустите выражение WHERE, то ВСЕ записи будут обновлены!
UPDATE Customers
SET ContactName = 'Juan'

Выборка из таблицы "Customers" теперь будет выглядеть так:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Juan Obere Str. 57 Frankfurt 12209 Германия
2 Ana Trujillo Emparedados y helados Juan Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Juan Mataderos 2312 Mexico D.F. 05023 Mexico
4 Почти Horn Juan 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Juan Berguvsvagen 8 Lulea S-958 22 Sweden